package com.g7go.pft.dto;

import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 门票列表详情（可选）
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class GetTicketListResult extends BaseResult {

    /**
     * 供应商id
     */
    private String UUaid;
    /**
     * 集合地点
     */
    private String UUass_station;
    /**
     * 最大年龄限制
     */
    private String UUage_limit_max;
    /**
     * 最小年龄限制
     */
    private String UUage_limit_min;
    /**
     * 限购票数
     */
    private int UUbuy_limit_num;
    /**
     * 购买限制时间
     * 0-整个销售时间段，1-每日，2每周，3-每月
     */
    private int UUbuy_limit_date;
    /**
     * 购买限制
     * 0-不限，1-手机号-张票，2-身份证-张票，3-手机号-笔订单，4-身份证-笔订单，5-同时-张票，6-同时-笔订单
     */
    private int UUbuy_limit;
    /**
     * 购买上限 0表示不限
     */
    private int UUbuy_limit_up;
    /**
     * 购买下限
     */
    private int UUbuy_limit_low;
    /**
     * 目的地
     */
    private int UUendplace;
    /**
     * 订单过期后处理方式
     * 1-不做处理，2-自动完结，3-自动验证，4-自动取消
     */
    private int UUexpire_action;
    /**
     * 多少天后自动处理 - 结合expire_action使用
     */
    private int UUexpire_action_days;
    /**
     * 自动取消的手续费- 结合expire_action使用
     */
    private int UUexpire_cancel_fee;
    /**
     * 取票信息
     */
    private String UUgetaddr;
    /**
     * 门票id
     */
    private int UUid;
    /**
     * 身份证信息
     * 0-不需要填写，1-需要填写，2-需要填写所有游客身份证
     */
    private int UUtourist_info;
    /**
     * 购票须知
     */
    private String UUnotes;
    /**
     * 产品id
     */
    private int UUlid;
    /**
     * 门票名称
     */
    private String UUtitle;
    /**
     * 未支付多少分钟内自动取消
     */
    private int UUcancel_auto_onMin;
    /**
     * 更改数量
     * 0-只可减少，大于0为增减或减少的上限比例
     */
    private int UUnum_modify;
    /**
     * 支付方式 0-现场支付，1-在线支付
     */
    private int UUpay;
    /**
     * 一次游玩天数
     */
    private int UUrdays;
    /**
     * 提前下单时间间隔
     * 此参数与UUdhour结合使用，例：UUddays为1，UUdhour为12:00:00，购票需提前一天，并在12点之前购买
     */
    private int UUddays;
    /**
     * 此参数与UUddays结合使用
     */
    private String UUdhour;
    /**
     * 提前下单最多间隔天数
     */
    private int UUmax_order_days;
    /**
     * 是否当日可取票
     * 0-不限，1-单日可取
     */
    private int UUprint_ticket_limit;
    /**
     * 价格id
     */
    private int UUpid;
    /**
     * 退票审核
     * 0-不需要审核，1-需要审核
     */
    private int UUrefund_audit;
    /**
     * 退票提前多少分钟
     */
    private int UUrefund_early_time;
    /**
     * 退票规则
     * 0-有效期内可退：未使用订单末级分销商可退；过期订单供应商可退，1-游玩日期内可退，阶梯退：未使用订单末级分销商可退；过期订单供应商可退
     * 2-不可退：分销商供应商都不可退 3-随时退：未使用订单末级分销商可退；过期订单分销商可退，供应商可退
     * -1=不可退且是可提现
     */
    private int UUrefund_rule;
    /**
     * 取消费用
     * （阶梯扣费）
     * 二维数组：
     * c_cost：扣费金额，单位分；
     * c_type：扣费类型0-固定金额，单位分，1-百分比；
     * c_days：游玩前多少分钟可退；
     * 例子：
     * [{"c_cost":"100","c_type":"0","c_days":"1440"},{"c_cost":"200","c_type":"0","c_days":"2880"}]
     * 游玩日期前1天扣费固定金额1元钱；游玩日期前2天扣费固定金额2元钱。
     */
    private String UUcancel_cost;
    /**
     * 取消费用类型
     * 0-百分比；1-扣费金额，单位分
     */
    private int UUreb_type;
    /**
     * 退款数值
     */
    private BigDecimal UUreb;
    private String UUshop;
    /**
     * 出发城市或地区
     */
    private String UUstartplace;
    /**
     * 门票状态
     * 可获取到的门票都是正常的门票
     */
    private int UUstatus;
    /**
     * 市场价 单位：元
     */
    private BigDecimal UUtprice;
    /**
     * 团号模型
     */
    private String UUseries_model;
    /**
     * 允许退职游玩的天数
     */
    private BigDecimal UUdelaydays;
    /**
     *
     */
    private Date UUorder_end;
    /**
     * 期票起始日期
     */
    private Date UUorder_start;
    /**
     * 游玩日期前不可验证
     * 0-不限，1-游玩日期前不可验证
     */
    private int UUif_verify;
    /**
     * 使用有效期类型
     */
    private int UUdelaytype;
    /**
     * 0-游玩日期起有效，1-下单日期起有效，2-期票模式
     */
    private String UUorder_limit;
    /**
     * 分批验证，每天可验证张数
     */
    private int UUbatch_day_check;
    /**
     * 验证时间
     */
    private String UUv_time_limit;
    /**
     * 分批验证
     * 0-不支持，1-支持，2-一票一码，3-一票一证
     */
    private int UUbatch_check;
    /**
     * 延迟验证时间
     */
    private String UUdelaytime;

}
